Als u een procedure Sub vanuit een andere procedure wilt oproepen, typt u de naam van de procedure met de waarden voor alle vereiste argumenten. De instructie Call is niet vereist, maar als u deze gebruikt, moet u alle argumenten tussen haakjes zetten.
U kunt een procedure Sub gebruiken om andere procedures te ordenen, zodat deze makkelijker te begrijpen zijn en fouten eenvoudiger op te sporen zijn. In het volgende voorbeeld roept de Sub-procedure Main
de Sub-procedure MultiBeep
aan en geeft hierbij de waarde 56 voor het argument op. Als MultiBeep
is uitgevoerd, keert de besturing terug naar Main
, waarna Main
de Sub-procedure Message oproept
. Message
geeft een berichtvenster weer. Als de gebruiker op OK klikt, keert de besturing terug naar Main
en sluit Main af
.
Sub Main()
MultiBeep 56
Bericht
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message ()
MsgBox "Tijd voor een kopje koffie!"
End Sub
Het volgende voorbeeld illustreert twee manieren om een procedure Sub met meer dan ΘΘn argument aan te roepen. De tweede keer dat HouseCalc
wordt opgeroepen, staan de argumenten tussen haakjes, omdat de instructie Call is gebruikt.
Sub Main()
HouseCalc 99800, 43100
Call Housecalc (380950, 49500)
End Sub
Sub HouseCalc (price As Single, wage As Single)
If 2,5 * wage <= 0,8 * price Then
MsgBox "U kunt dit huis niet betalen."
Else
MsgBox "U kunt dit huis betalen."
End If
End Sub
Om de resultaatwaarde van een functie te kunnen gebruiken, wijst u de functie toe aan een variabele en zet u de argumenten tussen haakjes. Bijvoorbeeld:
Answer3 = MsgBox("Bent u tevreden met uw salaris?", 4, "Vraag 3")
Als u de resultaatwaarde van een functie niet wilt weten, kunt u een functie op dezelfde manier oproepen als een procedure Sub. U laat gewoon de haakjes weg, maakt een lijst van de argumenten en wijst de functie aan een variabele toe. Bijvoorbeeld:
MsgBox "Taak Volbracht!", 0, "Taakvenster"
Waarschuwing Als u in het voorafgaande voorbeeld haakjes plaatst, veroorzaakt de instructie een syntaxisfout.
Een instructie in een procedure Sub of Function kan met behulp van benoemde argumenten waarden doorgeven aan opgeroepen procedures. U kunt benoemde argumenten in elke gewenste volgorde plaatsen. Een benoemd argument bestaat uit de naam van het argument gevolgd door een dubbele punt, een gelijkteken en de waarde die aan het argument is toegewezen.
In het volgende voorbeeld wordt de functie MsgBox met behulp van benoemde argumenten en zonder resultaatwaarde opgeroepen.
MsgBox Title:="Taakvenster", Prompt:="Taak volbracht!"
In het volgende voorbeeld wordt de functie MsgBox met behulp van benoemde argumenten opgeroepen. De resultaatwaarde wordt toegewezen aan de variabele answer3
.
answer3 = MsgBox(Title:=öVraag 3", _
Prompt:=" Bent u tevreden met uw salaris?", Buttons:=4)